The present invention is directed to a method for determining and indicating context synchronization of disparate applications running on a computer. The invention utilizes a single user interface to indicate whether disparate applications running on a computer display information related to the same context or entity, for example, a patient.
In the healthcare industry, a user, such as a healthcare worker, clinician, physician, technician, nurse, etc. routinely uses a computer to view multiple computer applications relating to various patients. The computer provides easy access to medical records contained in various computer applications for patients that are conveniently accessed through a computer workstation. The clinician oftentimes reviews various medical records of a patient contained in multiple, disparate computer applications to compare and correlate the data. Each application may display different information about a patient or entity. The information contained in disparate applications is oftentimes reviewed and aggregated by the user who may be, for example, attempting to diagnose a patient.
However, because of the ease with which a user may change between entities, the possibility exists that the user may be viewing information in one application for one patient and information in another application for a different patient. If the user does not realize that the information being viewed in the disparate applications are for different patients, a catastrophic error could occur such as misdiagnosis. Therefore, patient safety is at stake. Additionally, if each application displays data for a different entity or patient, the user's decision based on the aggregate data is meaningless.
Therefore, there is a need to provide an easy and accurate method for determining and indicating context synchronization of disparate applications running on a computer. This problem has existed ever since users started correlating data displayed amongst multiple simultaneously running applications.
Currently, three solutions exist to deal with this problem. The first is a manual approach. That is, the user must remember to carefully check each application to ensure that the applications are displaying information for the same entity of interest prior to using the information. Obviously, this manual approach is error-prone. The user must remember to check each application before aggregating and using the information displayed by the applications.
The second approach is an automated approach. That is, for select applications that implement a Clinical Context Object Workgroup (“CCOW”) or CCOW-like synchronization protocol, users rely on those applications to automatically synchronize. The disadvantages of this approach will be discussed further below. The third approach is a combination of manual and automated. That is, when a combination of applications that understand CCOW or CCOW-like protocols are used on the same desktop as applications that do not. The manual aspect of this approach has the same disadvantages as described above. The disadvantages with respect to the automated aspect of this approach are described below.
More specifically, the CCOW protocol (or CCOW-like synchronization protocol) supports synchronizing the applications for a selected patient. When the user of an application changes the selected patient, the other applications on the workstation follow the change automatically. This cooperation frees the user from repeating the change action in more than one application.
The CCOW protocol requires applications to notify a manager application when the application is going to change its context (or entity or patient). Additionally, the CCOW protocol requires applications to display an icon, located somewhere inside the application, to indicate the synchronization state. Further, the CCOW protocol requires the use of notification messages sent from the manager application to the participant applications to force the applications to update their state when context (or entity or patient) changes. In this way, all applications display the same context. Part of the notification mechanism involves having participant applications display a dialog to the user to allow the user to choose whether or not to cause the application to break-away/leave the context. This dialog would be displayed when an application has an “unsaved data condition” and the application can not be forced into changing its context because of a chance for data to be lost. Finally, the CCOW protocol requires additional programming typically done so a participant application can communicate with the managing application, that is, so that the participant application can notify the manager when its context has changed and receive notifications from the manager that context has changed.
However, the need exists for a single user interface to indicate whether disparate applications running on a computer display information related to the same entity in a more simplified and elegant manner. That is, the need exists for a single user interface that polls information from disparate applications and provides an indication of whether or not information is synchronized.